package net.suncaper.mvc.model.domain;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单信息实体类
 */
public class Order {
    /**
     * 订单号
     */
    private Integer id;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 取消时间
     */
    private Date cancelTime;
    
    /**
     * 退房时间
     */
    private Date checkoutTime;

    /**
     * 用户账号
     */
    private String userId;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 支付方式
     */
    private String paymentMethod;

    /**
     * 房型
     */
    private String roomType;

    /**
     * 酒店名称
     */
    private String hotelName;

    // 无参构造函数
    public Order() {
    }

    // 全参构造函数
    public Order(Integer id, Date createTime, Date payTime, Date cancelTime, Date checkoutTime, String userId,
                 BigDecimal amount, String paymentMethod, String roomType, String hotelName) {
        this.id = id;
        this.createTime = createTime;
        this.payTime = payTime;
        this.cancelTime = cancelTime;
        this.checkoutTime = checkoutTime;
        this.userId = userId;
        this.amount = amount;
        this.paymentMethod = paymentMethod;
        this.roomType = roomType;
        this.hotelName = hotelName;
    }

    // Getter 和 Setter 方法
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(Date cancelTime) {
        this.cancelTime = cancelTime;
    }
    
    public Date getCheckoutTime() {
        return checkoutTime;
    }

    public void setCheckoutTime(Date checkoutTime) {
        this.checkoutTime = checkoutTime;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getPaymentMethod() {
        return paymentMethod;
    }

    public void setPaymentMethod(String paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    public String getRoomType() {
        return roomType;
    }

    public void setRoomType(String roomType) {
        this.roomType = roomType;
    }

    public String getHotelName() {
        return hotelName;
    }

    public void setHotelName(String hotelName) {
        this.hotelName = hotelName;
    }

}